02-도메인DNS변경
도메인 DNS 변경
목표
Route 53에서 도메인이 CloudFront 대신 Web 서버를 직접 가리키도록 DNS 설정을 변경합니다.
변경 개요
변경 전 (Week1 설정)
yourdomain.com → Route 53 → CloudFront → S3 (정적)
변경 후 (Week3 연결)
yourdomain.com → Route 53 → Web서버 IP → Apache → Tomcat → RDS
1단계: 기존 DNS 레코드 백업
현재 설정 기록
변경 전 설정을 반드시 기록해두세요:
- Route 53 콘솔 → 호스팅 영역 → 본인 도메인 클릭
- 기존 A 레코드 설정을 메모장에 기록:
루트 도메인 (공백) A 레코드:
- 레코드 이름: (공백)
- 레코드 유형: A
- 별칭: 예
- 별칭 대상: CloudFront 배포 (d1234567890123.cloudfront.net)
www 서브도메인 A 레코드:
- 레코드 이름: www
- 레코드 유형: A
- 별칭: 예
- 별칭 대상: CloudFront 배포 (동일)
CloudFront 배포 ID 확인
- CloudFront 콘솔 접속
- 기존 배포의 배포 ID 기록 (예: E1A2B3C4D5E6F7)
- 롤백 시 사용할 도메인 이름 기록
2단계: TTL 값 단축 (선택사항)
DNS 변경의 빠른 적용을 위해 TTL 값을 단축합니다.
TTL 값 변경
- 기존 A 레코드 선택 → 편집
- TTL: 300 (5분)으로 변경
- 변경 사항 저장
- 10-15분 대기 (변경된 TTL이 전파될 때까지)
3단계: DNS 레코드 변경
루트 도메인 A 레코드 변경
-
기존 별칭 A 레코드 삭제
- 레코드 이름: (공백)
- 레코드 유형: A
- 현재 대상: CloudFront 배포
- 삭제 클릭
-
새로운 A 레코드 생성
- 레코드 생성 클릭
- 레코드 이름: (공백으로 유지)
- 레코드 유형: A - IPv4 주소
- 별칭: 아니요
- 값:
Web서버-Public-IP(예: 52.78.123.45) - TTL: 300
- 레코드 생성
www 서브도메인 A 레코드 변경
-
기존 www A 레코드 삭제
- 레코드 이름: www
- 현재 대상: CloudFront 배포
- 삭제 클릭
-
새로운 www A 레코드 생성
- 레코드 이름: www
- 레코드 유형: A - IPv4 주소
- 별칭: 아니요
- 값:
Web서버-Public-IP(동일한 IP) - TTL: 300
- 레코드 생성
4단계: DNS 전파 확인
DNS 변경 확인 방법
명령어로 확인 (Windows):
nslookup yourdomain.com
명령어로 확인 (Mac/Linux):
dig yourdomain.com
예상 결과:
yourdomain.com 300 IN A 52.78.123.45
온라인 DNS 체크 도구
- https://www.whatsmydns.net/
- 전 세계 DNS 서버에서 변경사항 전파 상태 확인
5단계: 웹사이트 접속 테스트
HTTP 접속 테스트
루트 도메인 테스트:
http://yourdomain.com/webapp/
www 서브도메인 테스트:
http://www.yourdomain.com/webapp/
예상 결과:
- JSP 기반 웹 애플리케이션이 정상 표시
- Week3에서 구축한 동적 페이지와 동일한 내용
브라우저 캐시 처리
DNS 변경이 반영되지 않을 경우:
- 브라우저 캐시 삭제 (Ctrl+Shift+Delete)
- 시크릿/프라이빗 브라우징 모드 사용
- 다른 네트워크에서 테스트 (모바일 데이터 등)
문제 해결
DNS 변경이 반영되지 않는 경우
확인사항:
- TTL 시간이 충분히 경과했는지 확인 (최소 5분)
- 입력한 IP 주소가 정확한지 확인
- Web 서버가 정상 동작하는지 확인
해결방법:
# DNS 캐시 플러시 (Windows)
ipconfig /flushdns
# DNS 캐시 플러시 (Mac)
sudo dscacheutil -flushcache
웹사이트가 접속되지 않는 경우
점검 순서:
-
Web 서버 상태 확인
# Web 서버 SSH 접속 ssh -i webapp-keypair.pem ec2-user@Web서버-Public-IP # Apache 상태 확인 sudo systemctl status httpd -
보안 그룹 확인
- EC2 콘솔에서 Web 서버 보안 그룹 점검
- HTTP 포트 80이 0.0.0.0/0에서 접근 가능한지 확인
-
Apache 가상 호스트 설정
# 가상 호스트 설정 확인 sudo cat /etc/httpd/conf.d/webapp.conf
롤백 방법
문제가 발생하면 즉시 이전 설정으로 복구:
- 현재 A 레코드 삭제 (Web 서버 IP 가리키는 것)
- 별칭 A 레코드 복구
- 레코드 이름: (공백) 및 www
- 레코드 유형: A
- 별칭: 예
- 별칭 대상: CloudFront 배포 (백업해둔 정보 사용)
완료 체크리스트
다음 항목들이 모두 성공했는지 확인:
DNS 변경 완료
접속 테스트 완료
백업 및 복구 준비
중요 사항
현재 제한사항
- HTTP 접속만 가능 (SSL 인증서 미적용)
- 브라우저에서 "안전하지 않음" 경고 표시
- 다음 단계에서 HTTPS 적용 예정
서비스 연속성
- 기존 S3 정적 사이트는 그대로 유지
- CloudFront 배포도 삭제하지 않음 (롤백용)
- 언제든 이전 구조로 복귀 가능
DNS 변경 완료
도메인이 성공적으로 Week3 웹 애플리케이션에 연결되었습니다. 이제 HTTP 프로토콜로 도메인을 통해 동적 웹 서비스에 접속할 수 있습니다.
다음 단계: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/00-도메인연결및SSL적용(선택)/03-SSL인증서적용에서 HTTPS 보안을 적용하여 프로덕션급 웹 서비스를 완성합니다.
관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/00-도메인연결및SSL적용(선택)/01-현재상태확인, AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/00-도메인연결및SSL적용(선택)/03-SSL인증서적용